﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
    targetNamespace="http://metalx.org/i286/Functions/Boolean"
    elementFormDefault="qualified"
    xmlns="http://metalx.org/i286/Functions/Boolean"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<xsd:element name="CreateObject">
		<xsd:annotation>
			<xsd:documentation>
				Creates a new Boolean object.

				Input:
				SI=MemoryManager
				AL=Value

				Output:
				DI=Object
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="Equal">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was equal.

				Input:
				ZF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="NotEqual">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was not equal.

				Input:
				ZF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="Zero">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison zero.

				Input:
				ZF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="NonZero">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was not zero.

				Input:
				ZF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>
	
	<xsd:element name="GreaterThan">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was greater than.

				Input:
				NF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="LessThan">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was less than.

				Input:
				NF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="GreaterOrEqualTo">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was greater than or equal to.

				Input:
				NF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="LessOrEqualTo">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the last comparison was less than or equal to.

				Input:
				NF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="Positive">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the negative flag is not set.

				Input:
				NF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>
	
	<xsd:element name="Negative">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the negative flag is set.

				Input:
				NF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="Carry">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the carry flag is currently set.

				Input:
				CF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="NotCarry">
		<xsd:annotation>
			<xsd:documentation>
				Returns -1 if the carry flag is not currently set.

				Input:
				CF=Value

				Output:
				AL=Value
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

</xsd:schema>
